﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Business;
namespace QLHS
{
    public partial class UCDanhSachLopHoc : UserControl
    {
        public UCDanhSachLopHoc()
        {
            InitializeComponent();
            
        }
        Lop_BUL l = new Lop_BUL();
        MonHoc_BUL m = new MonHoc_BUL();
        private void UCDanhSachLopHoc_Load(object sender, EventArgs e)
        {
            gridControl1.DataSource = l.LoadData();
            KTDV(frm_Main.kt);
            txtlop.Enabled = false;
            txtsiso.Enabled = false;
            cbokhoi.Enabled = false;
            txtsiso.Text = "0";
        }
        string kt = "";
        private void btnthem_Click(object sender, EventArgs e)
        {
            kt = "Them";
            btnluu.Enabled = true;
            btnthem.Enabled = false;
            btnsua.Enabled = false;
            btnxoa.Enabled = false;
            txtlop.Enabled = true;
            txtsiso.Enabled = true;
            cbokhoi.Enabled = true;
            txtlop.Text = cbokhoi.Text = "";
            txtlop.Focus();
        }

        private void btnsua_Click(object sender, EventArgs e)
        {
            kt = "Sua";
            btnluu.Enabled = true;
            btnthem.Enabled = false;
            btnsua.Enabled = false;
            btnxoa.Enabled = false;
            txtsiso.Enabled = false;
            txtlop.Enabled = false;
            cbokhoi.Enabled = true;
        }

        private void btnxoa_Click(object sender, EventArgs e)
        {
            try
            {
                if (MessageBox.Show("Xóa thật àk???", "Thông Báo", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    if(l.KTTTL(txtlop.Text))
                        MessageBox.Show("Vẫn còn học sinh tron lớp này, không thể xóa!...", "Thông Báo");
                    else if(l.Xoa(txtlop.Text))
                    {
                        l.XoaLopTKHK(txtlop.Text);
                        MessageBox.Show("Xóa thành công!...", "Thông Báo");
                    }
                    else
                        MessageBox.Show("Không xóa được...","Thông Báo");
                }
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Thông Báo");
            }
            UCDanhSachLopHoc_Load(sender, e);
        }

        private void btnluu_Click(object sender, EventArgs e)
        {
            try
            {
                if (int.Parse(l.Demkhoi(int.Parse(cbokhoi.Text))) >= int.Parse(l.Laykhoi(int.Parse(cbokhoi.Text))))
                {
                    MessageBox.Show("Số lượng lớp đã vượt giới han...", "Thông Báo");
                    txtlop.Focus();
                }
                else if (kt == "Them")
                {
                    if (l.Them(txtlop.Text, int.Parse(txtsiso.Text), int.Parse(cbokhoi.Text)))
                    {
                        l.ThemLopTKHK(txtlop.Text,"Học Kỳ I");
                        l.ThemLopTKHK(txtlop.Text, "Học Kỳ II");
                        MessageBox.Show("Thêm thành công!...", "Thông Báo");
                        UCDanhSachLopHoc_Load(sender, e);
                    }
                    else
                        MessageBox.Show("Không thêm được", "Thông Báo");
                }
                else if (kt == "Sua")
                {
                    if (l.Sua(txtlop.Text, int.Parse(txtsiso.Text), int.Parse(cbokhoi.Text)))
                    {
                        MessageBox.Show("Sửa thành công!...", "Thông Báo");
                        UCDanhSachLopHoc_Load(sender, e);
                    }
                    else
                        MessageBox.Show("Sửa thất bại...", "Thông Báo");
                }
            }
            catch(Exception ex)
            {
                MessageBox.Show("Dữ liệu vừa nhập không đúng quy định vui lòng nhập lại","Thông Báo");
                txtlop.Focus();
            }
        }

        private void gridControl1_Click(object sender, EventArgs e)
        {
            try
            {
                txtlop.Text = gridView1.GetFocusedRowCellDisplayText("TENLOP");
                txtsiso.Text = gridView1.GetFocusedRowCellDisplayText("SISO");
                cbokhoi.Text = gridView1.GetFocusedRowCellDisplayText("KHOI");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Thông Báo");
            }
        }

        private void txtsiso_KeyPress(object sender, KeyPressEventArgs e)
        {
            string ValidChar = "0123456789" + Convert.ToChar(8).ToString();
            if (!ValidChar.Contains(e.KeyChar))
                e.Handled = true;
        }

        private void cbokhoi_KeyPress(object sender, KeyPressEventArgs e)
        {
            string ValidChar = "0123456789" + Convert.ToChar(8).ToString();
            if (!ValidChar.Contains(e.KeyChar))
                e.Handled = true;
        }

        private void btndoiqd_Click(object sender, EventArgs e)
        {
            frm_ThayDoiLop l = new frm_ThayDoiLop();
            l.Show();
        }
        private void txtlop_KeyDown(object sender, KeyEventArgs e)
        {
        }
        void KTDV(string s)
        {
            if (s == "ADMIN" || s == "HIEUTRUONG" || s == "QTV")
            {
                btnluu.Enabled = false;
                btnthem.Enabled = true;
                btnsua.Enabled = true;
                btnxoa.Enabled = true;

            }
            else
            {
                btndoiqd.Enabled = false;
                btnthem.Enabled = false;
                btnsua.Enabled = false;
                btnxoa.Enabled = false;
                btnluu.Enabled = false;
            }
        }
    }
}
